<?php
/**
 * Formulaire d'édition de l'utilisateur
 * @package bp-clients
 */
 

/**
 * Formulaire d'édition de l'utilisateur
 * @package bp-clients
 */
class Application_Form_Utilisateur extends Zend_Form
{
  	/**
     * Identifiant de l'utilisateur édité
     * @var int
     */
  	protected $_utilisateurId;
	
	/**
     * Constructeur
     * @param int $utilisateurId l'id de l'utilisateur édité
     */
	public function __Construct($utilisateurId=0)
	{
		$this->_utilisateurId = (int)$utilisateurId;
		parent::__Construct();
	}

    /**
     * Création du formulaire
     */
    public function init()
    {
        // Nom du formulaire
        $this->setName('album');
        // Identifiant
        $id = new Zend_Form_Element_Hidden('id');
        $id->addFilter('Int');
        // Nom
        $nom = new Zend_Form_Element_Text('nom');
        $nom->setLabel('Nom')
            ->setRequired(true)
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addValidator('NotEmpty');
        // Prénom
        $prenom = new Zend_Form_Element_Text('prenom');
        $prenom->setLabel('Prenom')
               ->setRequired(true)
               ->addFilter('StripTags')
               ->addFilter('StringTrim')
               ->addValidator('NotEmpty');
        // E-mail
        $email = new Zend_Form_Element_Text('email');
        $email->setLabel('Email')
              ->setRequired(true)
              ->addFilter('StripTags')
              ->addFilter('StringTrim')
              ->addValidator('EmailAddress');
        // Validateur code unique
		$db_code_validator = new Zend_Validate_Db_NoRecordExists(
									 Application_Model_DbTable_Utilisateurs::NOM,
									 Application_Model_DbTable_Utilisateurs::COL_CODE, 
									 array('field' =>Application_Model_DbTable_Utilisateurs::COL_ID,
									 	   'value' => $this->_utilisateurId)
								     );
        // Code
        $code = new Zend_Form_Element_Text('code');
        $code->setLabel('Code')
             ->setRequired(true)
             ->addFilter('StripTags')
             ->addFilter('StringTrim')
             ->addValidator('NotEmpty')
		     ->addValidator($db_code_validator);
        
        $actif = new Zend_Form_Element_Checkbox('actif');
        $actif->setLabel('actif');
        // Bouton envoyer
        $envoyer = new Zend_Form_Element_Submit('envoyer');
        $envoyer->setAttrib('id', 'boutonenvoyer');
        // Ajout des éléments
        $this->addElements(array($id, $nom, $prenom, $email, $code, $actif, $envoyer));
    }
}

